nethackfandomcom-20200214-history
Source:NetHack 3.3.0/flag.h
Below is the full text to flag.h from the source code of NetHack 3.3.0. To link to a particular line, write [[NetHack 3.3.0/flag.h#line123]], for example. Warning! This is the source code from an old release. For the latest release, see Source code 1. /* SCCS Id: @(#)flag.h 3.3 1999/11/26 */ 2. /* Copyright © Stichting Mathematisch Centrum, Amsterdam, 1985. */ 3. /* NetHack may be freely redistributed. See license for details. */ 4. 5. /* If you change the flag structure make sure you increment EDITLEVEL in */ 6. /* patchlevel.h if needed. Changing the instance_flags structure does */ 7. /* not require incrementing EDITLEVEL. */ 8. 9. #ifndef FLAG_H 10. #define FLAG_H 11. 12. /* 13. * Persistent flags that are saved and restored with the game. 14. * 15. */ 16. 17. struct flag { 18. #ifdef AMIFLUSH 19. boolean altmeta; /* use ALT keys as META */ 20. boolean amiflush; /* kill typeahead */ 21. #endif 22. #ifdef MFLOPPY 23. boolean asksavedisk; 24. #endif 25. boolean autoquiver; /* Automatically fill quiver */ 26. boolean beginner; 27. #ifdef MAIL 28. boolean biff; /* enable checking for mail */ 29. #endif 30. boolean botl; /* partially redo status line */ 31. boolean botlx; /* print an entirely new bottom line */ 32. boolean confirm; /* confirm before hitting tame monsters */ 33. boolean debug; /* in debugging mode */ 34. #define wizard flags.debug 35. boolean end_own; /* list all own scores */ 36. boolean explore; /* in exploration mode */ 37. #ifdef OPT_DISPMAP 38. boolean fast_map; /* use optimized, less flexible map display */ 39. #endif 40. #define discover flags.explore 41. boolean female; 42. boolean forcefight; 43. boolean friday13; /* it's Friday the 13th */ 44. boolean help; /* look in data file for info about stuff */ 45. boolean ignintr; /* ignore interrupts */ 46. #ifdef INSURANCE 47. boolean ins_chkpt; /* checkpoint as appropriate */ 48. #endif 49. boolean invlet_constant; /* let objects keep their inventory symbol */ 50. boolean legacy; /* print game entry "story" */ 51. boolean lit_corridor; /* show a dark corr as lit if it is in sight */ 52. boolean made_amulet; 53. boolean mon_moving; /* monsters' turn to move */ 54. boolean move; 55. boolean mv; 56. boolean nap; /* `timed_delay' option for display effects */ 57. boolean nopick; /* do not pickup objects (as when running) */ 58. boolean null; /* OK to send nulls to the terminal */ 59. #ifdef MAC 60. boolean page_wait; /* put up a --More-- after a page of messages */ 61. #endif 62. boolean perm_invent; /* keep full inventories up until dismissed */ 63. boolean pickup; /* whether you pickup or move and look */ 64. 65. boolean pushweapon; /* When wielding, push old weapon into second slot */ 66. boolean rest_on_space; /* space means rest */ 67. boolean safe_dog; /* give complete protection to the dog */ 68. #ifdef EXP_ON_BOTL 69. boolean showexp; /* show experience points */ 70. #endif 71. #ifdef SCORE_ON_BOTL 72. boolean showscore; /* show score */ 73. #endif 74. boolean silent; /* whether the bell rings or not */ 75. boolean sortpack; /* sorted inventory */ 76. boolean soundok; /* ok to tell about sounds heard */ 77. boolean standout; /* use standout for --More-- */ 78. boolean time; /* display elapsed 'time' */ 79. boolean tombstone; /* print tombstone */ 80. boolean toptenwin; /* ending list in window instead of stdout */ 81. boolean verbose; /* max battle info */ 82. boolean prayconfirm; /* confirm before praying */ 83. int end_top, end_around; /* describe desired score list */ 84. unsigned ident; /* social security number for each monster */ 85. unsigned moonphase; 86. unsigned long suppress_alert; 87. #define NEW_MOON 0 88. #define FULL_MOON 4 89. unsigned no_of_wizards; /* 0, 1 or 2 (wizard and his shadow) */ 90. unsigned run; /* 0: h (etc), 1: H (etc), 2: fh (etc) */ 91. /* 3: FH, 4: ff+, 5: ff-, 6: FF+, 7: FF- */ 92. int djinni_count, ghost_count; /* potion effect tuning */ 93. int pickup_burden; /* maximum burden before prompt */ 94. char inv_orderMAXOCLASSES; 95. char pickup_typesMAXOCLASSES; 96. char end_disclose5; /* disclose various info upon exit */ 97. char menu_style; /* User interface style setting */ 98. #ifdef AMII_GRAPHICS 99. int numcols; 100. unsigned short amii_dripens[ 20 ]; /* DrawInfo Pens currently there are 13 in v39 */ 101. AMII_COLOR_TYPE amii_curmap[ AMII_MAXCOLORS ]; /* colormap */ 102. #endif 103. 104. /* KMH, role patch -- Variables used during startup. 105. * 106. * If the user wishes to select a role, race, gender, and/or alignment 107. * during startup, the choices should be recorded here. This 108. * might be specified through command-line options, environmental 109. * variables, a popup dialog box, menus, etc. 110. * 111. * These values are each an index into an array. They are not 112. * characters or letters, because that limits us to 26 roles. 113. * They are not booleans, because someday someone may need a neuter 114. * gender. Negative values are used to indicate that the user 115. * hasn't yet specified that particular value. If you determine 116. * that the user wants a random choice, then you should set an 117. * appropriate random value; if you just left the negative value, 118. * the user would be asked again! 119. * 120. * These variables are stored here because the u structure is 121. * cleared during character initialization, and because the 122. * flags structure is restored for saved games. Thus, we can 123. * use the same parameters to build the role entry for both 124. * new and restored games. 125. * 126. * These variables should not be referred to after the character 127. * is initialized or restored (specifically, after role_init() 128. * is called). 129. */ 130. int initrole; /* starting role (index into roles[]) */ 131. int initrace; /* starting race (index into races[]) */ 132. int initgend; /* starting gender (index into genders[]) */ 133. int initalign; /* starting alignment (index into aligns[]) */ 134. int pantheon; /* deity selection for priest character */ 135. }; 136. 137. /* 138. * Flags that are set each time the game is started. 139. * These are not saved with the game. 140. * 141. */ 142. 143. struct instance_flags { 144. boolean cbreak; /* in cbreak mode, rogue format */ 145. boolean DECgraphics; /* use DEC VT-xxx extended character set */ 146. boolean echo; /* 1 to echo characters */ 147. #ifdef TTY_GRAPHICS 148. boolean extmenu; /* extended commands use menu interface */ 149. #endif 150. boolean IBMgraphics; /* use IBM extended character set */ 151. unsigned msg_history; /* hint: # of top lines to save */ 152. boolean num_pad; /* use numbers for movement commands */ 153. boolean news; /* print news */ 154. boolean window_inited; /* true if init_nhwindows() completed */ 155. 156. #ifdef WIZARD 157. boolean sanity_check; /* run sanity checks */ 158. #endif 159. #ifdef TEXTCOLOR 160. boolean hilite_pet; /* hilight pets on monochome displays */ 161. boolean use_color; /* use color graphics */ 162. #endif 163. #ifdef MAC_GRAPHICS_ENV 164. boolean large_font; /* draw in larger fonts (say, 12pt instead 165. of 9pt) */ 166. boolean MACgraphics; /* use Macintosh extended character set, as 167. as defined in the special font HackFont */ 168. unsigned use_stone; /* use the stone ppats */ 169. #endif 170. #ifdef MAC 171. boolean popup_dialog; /* put queries in pop up dialogs instead of 172. in the message window */ 173. #endif 174. #ifdef MICRO 175. boolean BIOS; /* use IBM or ST BIOS calls when appropriate */ 176. boolean rawio; /* whether can use rawio (IOCTL call) */ 177. #endif 178. #ifdef MSDOS 179. boolean hasvga; /* has a vga adapter */ 180. boolean usevga; /* use the vga adapter */ 181. boolean has8514; 182. boolean use8514; 183. boolean hasvesa; 184. boolean usevesa; 185. boolean grmode; /* currently in graphics mode */ 186. #endif 187. #if defined(MSDOS) || defined(WIN32) 188. boolean hassound; /* has a sound card */ 189. boolean usesound; /* use the sound card */ 190. boolean usepcspeaker; /* use the pc speaker */ 191. boolean preload_tiles; /* preload the tiles into RAM */ 192. boolean tile_view; 193. boolean over_view; 194. boolean traditional_view; 195. #endif 196. #ifdef LAN_FEATURES 197. boolean lan_mail; /* mail is initialized */ 198. boolean lan_mail_fetched; /* mail is awaiting display */ 199. #endif 200. }; 201. 202. extern NEARDATA struct flag flags; 203. extern NEARDATA struct instance_flags iflags; 204. 205. #endif /* FLAG_H */ flag.h